Software applications designed to locate and display World Wide Web (“Web”) pages are in widespread use. Commonly referred to as Web browsers, two of the most popular of such applications are Internet Explorer from Microsoft Corporation and Netscape Navigator from Netscape Communications Corporation. These browsers are capable of displaying documents written in the common markup languages in use today.
HTML (Hypertext Markup Language) remains a very common and popular authoring and presentation language for creating Web materials. The HTML standard was originally established with the idea that an HTML document would remain static after being rendered in the browser. To allow for elements in an HTML page to be controllable after the page is rendered, a DHTML (Dynamic HTML) standard was developed. DHTML is not actually a language, but is the combination and interaction of several Web-related standards, including HTML, CSS (Cascading Style Sheets), DOM (Document Object Model), and scripting. The DOM is an interface in the browser that allows programs to access and change the content, structure and style of documents. Any changes are dynamically incorporated back into the page and displayed to the user.
Another development has been the creation of the XML (eXtensible Markup Language) standard. XML is also not a language, but is a metalanguage or set of rules that allow the creation of other markup languages. XML allows developers to create markup languages that are more versatile and powerful than HTML. One of the standard XML languages that are now in common use is XHTML (eXtensible HTML). The XHTML language standard was developed by adapting the existing HTML standard to meet the requirements of XML. The DHTML standard also now accommodates XHTML. Specifications and descriptions for HTML, XML, XHTML, DOM and other Web-related open technology standards are available on the Web from the World Wide Web Consortium at http://www.w3c.org.
Many enterprises have recognized the commercial opportunities that are presented by the ability to create and edit documents in the browser and have undertaken to capitalize on it by developing products and services supported or enabled by software applications running in the browser. To facilitate and promote the development of browser-compatible software applications, browser vendors typically implement and make readily available an API (application program interface) of standard routines, protocols and tools for use by application developers.
XHTML documents, like HTML documents, are constructed as a collection of discrete elements, each element being marked with opening and closing tags and having associated parameters. A common text-formatting element is the “division”, or DIV, element. A document level DIV element would typically contain multiple additional DIV elements defining the various components that comprise the document. One or more of these elements could contain fixed design features of the document, such as standard text, a logo, or a background graphic, that are not intended to be editable by the user. Additional predefined DIV elements could be initially empty of content and available to be customized by the user with the user's informational input.
All elements would have a set of parameters established by the document designer to define the initial structure and content of the element. These include both the physical features of the element, such as the absolute or relative spatial location of the element within the document, as well as the attributes to be applied to any user text content entered in the element, such as font type, font size, font color, and any font attributes such as bolding and italics. The document could also be designed to allow the user to reposition one or more of the elements by conventional click-and-drag techniques.
In designing an XHTML document, the browser allows the document designer to specify the size of the text in the DIV element in terms of either pixels or font tag sizes. For the preparation of many types of materials, the use of pixel sizes is superior because it allows an almost unlimited range of font sizes to be made available to users. Font tags, by contrast, are limited by XHTML standards to seven different sizes. Furthermore, font tag sizes do not indicate an absolute size, but rather merely a relative size in comparison to the other font tag sizes.
One shortcoming in the prior art that limits the ability of users to design documents in a browser is that browsers typically do not provide a full range of editing options for certain types of editing. As noted above, conventional XHTML document coding assigns text parameters such as font type, color and size at the level of the DIV element. In other words, conventional coding anticipates that all characters entered in a text field will be rendered in the same font, at the same font size, etc. One specific example of a browser limitation that hampers the usefulness of the browser for the creation of high quality printed materials is the manner in which the browser handles the editing of font sizes within a DIV element.
While the browser provides the technical capability to take editing actions inside a DIV element text string, such as inserting characters of a different size or modifying the size of one or more of the existing characters, the browser does not provide the capability to specify pixel sizes for the new or modified characters. When the font size of a part of a DIV element is changed, the browser will define the new size in terms of font tag sizes. Allowing this type of editing would have the effect of generating a text string defined partly in pixels and partly in font tags.
This inability to precisely control and match character sizes poses a significant problem for applications directed to providing “what you see is what you get” document design and printing services, such as a service where the user designs an XHTML document with the user's browser and uploads the document to the remote server of the printing service provider for conversion into a prepress format and eventual printing. Therefore, to avoid editing problems and incompatibilities, and the customer dissatisfaction that would result, companies that supply document editing and printing tools and services for use in creating documents in browsers have historically prohibited their customers from editing text within a DIV element.
Because the modern word processing and desktop publishing programs that are in widespread use today typically allow the user to control the display parameters for each individual text character, many users want and expect this level of editing control and are dissatisfied by the inability to edit on a character by character level. It would be very desirable for companies in the business of providing browser-based online document designing, editing and proofing services if their customers could have the ability to edit only a portion of a character string, for example by changing the color, size or the font of one or more characters or words within a longer string of text.